﻿#pragma once

#include "topo_base.h"

namespace CAGD
{

/**
 * 拓扑 body.
 */
class TopoBody : public TopoBase
{
  public:
    /**
     * @brief 基本空构造.
     * @see
     */
    TopoBody();

    /**
     * @brief 析构.
     * @see
     */
    ~TopoBody();

    /**
     * @brief 所有 lump.
     * @return
     * @see
     */
    std::vector<TopoLump *> &Lumps();

    /**
     * @brief 拓扑类型.
     * @return
     * @see
     */
    TopoType Type() const override;

  protected:
    std::vector<TopoLump *> m_lumps; // 所有 lump
};

} // namespace CAGD
